/*
 * PointToPointQuery.h
 *
 *  Created on: Nov 21, 2009
 *      Author: jbarreneche
 */

#ifndef POINTTOPOINTQUERY_H_
#define POINTTOPOINTQUERY_H_

#include "QueryRoute.h"
#include <string>
#include "map/exceptions/RoadNotFoundException.h"
#include "map/exceptions/UnexistingAddressException.h"

using namespace std;

class PointToPointQuery: public QueryRoute {
public:
	PointToPointQuery(Map *map, string originRoadName, int originHeight,
			string destinationRoadName, int destinationHeight, RouteOptimize optimizationStrategy)
			throw(RoadNotFoundException, UnexistingAddressException);

	virtual ~PointToPointQuery();
	virtual void setOrigin(RoadSegment* segment, Intersection* intersection);
private:
	MapAddress destination;
};

#endif /* POINTTOPOINTQUERY_H_ */
